package com.train.webadmin.app.model.constant;

import java.util.HashMap;
import java.util.Map;

/**
 * 民族常量字典对象。
 *
 * @author xulei
 * @date 2025-03-07
 */
public final class Nation {

    /**
     * 汉族。
     */
    public static final String CATION = "汉族";
    /**
     * 满族。
     */
    public static final String MAN = "满族";
    /**
     * 蒙古族。
     */
    public static final String MONGOLIAN = "蒙古族";
    /**
     * 回族。
     */
    public static final String NATIONALITY = "回族";
    /**
     * 藏族。
     */
    public static final String ZANG = "藏族";
    /**
     * 维吾尔族。
     */
    public static final String UYGURS = "维吾尔族";
    /**
     * 苗族。
     */
    public static final String MIAO = "苗族";
    /**
     * 彝族。
     */
    public static final String YI = "彝族";
    /**
     * 壮族。
     */
    public static final String ZHUANG = "壮族";
    /**
     * 布依族。
     */
    public static final String BUYI = "布依族";
    /**
     * 侗族。
     */
    public static final String DONG = "侗族";
    /**
     * 瑶族。
     */
    public static final String YAO = "瑶族";
    /**
     * 白族。
     */
    public static final String BAI = "白族";
    /**
     * 土家族。
     */
    public static final String TUJIA = "土家族";
    /**
     * 哈尼族。
     */
    public static final String HANI = "哈尼族";
    /**
     * 哈萨克族。
     */
    public static final String HASAKE = "哈萨克族";
    /**
     * 傣族。
     */
    public static final String DAI = "傣族";
    /**
     * 黎族。
     */
    public static final String LIZU = "黎族";
    /**
     * 傈僳族。
     */
    public static final String LISU = "傈僳族";
    /**
     * 佤族。
     */
    public static final String WAZU = "佤族";
    /**
     * 畲族。
     */
    public static final String SHES = "畲族";
    /**
     * 高山族。
     */
    public static final String GAOSHAN = "高山族";
    /**
     * 拉祜族。
     */
    public static final String LAGU = "拉祜族";
    /**
     * 水族。
     */
    public static final String SHUI = "水族";
    /**
     * 东乡族。
     */
    public static final String DONXIANG = "东乡族";
    /**
     * 纳西族。
     */
    public static final String NAXI = "纳西族";
    /**
     * 景颇族。
     */
    public static final String JINGBO = "景颇族";
    /**
     * 柯尔克孜族。
     */
    public static final String KEERKE = "柯尔克孜族";
    /**
     * 土族。
     */
    public static final String TU = "土族";
    /**
     * 达斡尔族。
     */
    public static final String DAHANER = "达斡尔族";
    /**
     * 仫佬族。
     */
    public static final String MULAO = "仫佬族";
    /**
     * 羌族。
     */
    public static final String QIANG = "羌族";
    /**
     * 布朗族。
     */
    public static final String BULANG = "布朗族";
    /**
     * 撒拉族。
     */
    public static final String SALA = "撒拉族";
    /**
     * 毛南族。
     */
    public static final String MAONAN = "毛南族";
    /**
     * 仡佬族。
     */
    public static final String GELAO = "仡佬族";
    /**
     * 锡伯族。
     */
    public static final String XIBO = "锡伯族";
    /**
     * 阿昌族。
     */
    public static final String ACHANG = "阿昌族";
    /**
     * 普米族。
     */
    public static final String PUMI = "普米族";
    /**
     * 朝鲜族。
     */
    public static final String CHAOXIAN = "朝鲜族";
    /**
     * 塔吉克族。
     */
    public static final String TAJIKE = "塔吉克族";
    /**
     * 怒族。
     */
    public static final String NUZU = "怒族";
    /**
     * 乌孜别克族。
     */
    public static final String WUZIBIEKE = "乌孜别克族";
    /**
     * 俄罗斯族。
     */
    public static final String ELUOSI = "俄罗斯族";
    /**
     * 鄂温克族。
     */
    public static final String EWENKEZU = "鄂温克族";
    /**
     * 德昂族。
     */
    public static final String DEANG = "德昂族";
    /**
     * 保安族。
     */
    public static final String BAOAN = "保安族";
    /**
     * 裕固族。
     */
    public static final String YUGU = "裕固族";
    /**
     * 京族。
     */
    public static final String JING = "京族";
    /**
     * 塔塔尔族。
     */
    public static final String TATAER = "塔塔尔族";
    /**
     * 独龙族。
     */
    public static final String DULON = "独龙族";
    /**
     * 鄂伦春族。
     */
    public static final String ELUNCHUN = "鄂伦春族";
    /**
     * 赫哲族。
     */
    public static final String HEZHE = "赫哲族";
    /**
     * 门巴族。
     */
    public static final String MENBA = "门巴族";
    /**
     * 珞巴族。
     */
    public static final String YAOBA = "珞巴族";
    /**
     * 基诺族。
     */
    public static final String JILUO = "基诺族";

    private static final Map<Object, String> DICT_MAP = new HashMap<>(56);
    static {
        DICT_MAP.put(CATION, "汉族");
        DICT_MAP.put(MAN, "满族");
        DICT_MAP.put(MONGOLIAN, "蒙古族");
        DICT_MAP.put(NATIONALITY, "回族");
        DICT_MAP.put(ZANG, "藏族");
        DICT_MAP.put(UYGURS, "维吾尔族");
        DICT_MAP.put(MIAO, "苗族");
        DICT_MAP.put(YI, "彝族");
        DICT_MAP.put(ZHUANG, "壮族");
        DICT_MAP.put(BUYI, "布依族");
        DICT_MAP.put(DONG, "侗族");
        DICT_MAP.put(YAO, "瑶族");
        DICT_MAP.put(BAI, "白族");
        DICT_MAP.put(TUJIA, "土家族");
        DICT_MAP.put(HANI, "哈尼族");
        DICT_MAP.put(HASAKE, "哈萨克族");
        DICT_MAP.put(DAI, "傣族");
        DICT_MAP.put(LIZU, "黎族");
        DICT_MAP.put(LISU, "傈僳族");
        DICT_MAP.put(WAZU, "佤族");
        DICT_MAP.put(SHES, "畲族");
        DICT_MAP.put(GAOSHAN, "高山族");
        DICT_MAP.put(LAGU, "拉祜族");
        DICT_MAP.put(SHUI, "水族");
        DICT_MAP.put(DONXIANG, "东乡族");
        DICT_MAP.put(NAXI, "纳西族");
        DICT_MAP.put(JINGBO, "景颇族");
        DICT_MAP.put(KEERKE, "柯尔克孜族");
        DICT_MAP.put(TU, "土族");
        DICT_MAP.put(DAHANER, "达斡尔族");
        DICT_MAP.put(MULAO, "仫佬族");
        DICT_MAP.put(QIANG, "羌族");
        DICT_MAP.put(BULANG, "布朗族");
        DICT_MAP.put(SALA, "撒拉族");
        DICT_MAP.put(MAONAN, "毛南族");
        DICT_MAP.put(GELAO, "仡佬族");
        DICT_MAP.put(XIBO, "锡伯族");
        DICT_MAP.put(ACHANG, "阿昌族");
        DICT_MAP.put(PUMI, "普米族");
        DICT_MAP.put(CHAOXIAN, "朝鲜族");
        DICT_MAP.put(TAJIKE, "塔吉克族");
        DICT_MAP.put(NUZU, "怒族");
        DICT_MAP.put(WUZIBIEKE, "乌孜别克族");
        DICT_MAP.put(ELUOSI, "俄罗斯族");
        DICT_MAP.put(EWENKEZU, "鄂温克族");
        DICT_MAP.put(DEANG, "德昂族");
        DICT_MAP.put(BAOAN, "保安族");
        DICT_MAP.put(YUGU, "裕固族");
        DICT_MAP.put(JING, "京族");
        DICT_MAP.put(TATAER, "塔塔尔族");
        DICT_MAP.put(DULON, "独龙族");
        DICT_MAP.put(ELUNCHUN, "鄂伦春族");
        DICT_MAP.put(HEZHE, "赫哲族");
        DICT_MAP.put(MENBA, "门巴族");
        DICT_MAP.put(YAOBA, "珞巴族");
        DICT_MAP.put(JILUO, "基诺族");
    }

    /**
     * 判断参数是否为当前常量字典的合法值。
     *
     * @param value 待验证的参数值。
     * @return 合法返回true，否则false。
     */
    public static boolean isValid(String value) {
        return value != null && DICT_MAP.containsKey(value);
    }

    /**
     * 私有构造函数，明确标识该常量类的作用。
     */
    private Nation() {
    }
}
